package a02_Thread;

/**
 * @Author quan
 * @Description 是否后台线程
 * @Date 2023/4/28 12:05
 */
public class Demo4_IsDaemon {
    public static void main(String[] args) throws InterruptedException {
        Thread thread = new Thread(()->{
            while (true){
                System.out.println("hello thread");
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    throw new RuntimeException(e);
                }
            }
        });
        //第一次：在线程启动之前 设置线程为后台,观察线程的存活状态
//        thread.setDaemon(true);
        System.out.println("在线程start之前设置为后台线程，此时的存活状态是："+ thread.isAlive());

        //启动线程
        thread.start();
        //此时休眠是因为start之后，系统要去创建PCB，给系统一点时间能够创建成功
        Thread.sleep(2000);

        //第二次：在start线程之后，观察线程的存活状态
        System.out.println("在线程start之后观察线程的存活状态："+thread.isAlive());
        System.out.println("main线程执行完成");
        System.out.println("此时线程是否存活:"+thread.isAlive());

    }
}
